package h0922;
/**
  * @description 最大子数组和
  * @author 不知名帅哥
  * @date 2024/9/22 16:25
  * @version 1.0
*/
public class MaxSubStringSum {
    public static void main(String[] args) {

    }
    public int maxSubArray(int[] nums) {
        int n= nums.length;
        if (n==1){
            return nums[0];
        }
        //dp[i]表示前i位子数组的最大和
        int[] dp = new int[n + 1];
        dp[0]=nums[0];
        int maxNum=Integer.MIN_VALUE;

        for (int i = 1; i < n; i++) {
            if (dp[i-1]>0){
                dp[i]=dp[i-1]+nums[i];
            }else {
                dp[i]=nums[i];
            }
            maxNum=Math.max(dp[i], maxNum);
        }
        return maxNum;
    }

}
